#ifndef __LEVEL_SECTOR_HPP__
#define __LEVEL_SECTOR_HPP__

#include <vector>
#include "Entity3D.hpp"

typedef class SectorHeaderData
{
public:
	SectorHeaderData() : m_iNumUnits(0),
		                 m_iNumStructures(0),
						 m_iSizeUnitsData(0),
						 m_iSizeStructuresData(0),
						 m_iSizeSectorMeshData(0) {};

	int m_iNumUnits;
	int m_iNumStructures;
	int m_iSizeUnitsData;
	int m_iSizeStructuresData;
	int m_iSizeSectorMeshData;

} SECTOR_HEADER;


class LevelSector : public Entity3D
{
public:
	LevelSector(std::string sectorName, std::string textureName);
	//LevelSector(SECTOR_HEADER& secHeader, char** pDataBuffer, std::string textureName);
	~LevelSector();

	bool   createUnit(std::string unitName, std::string textureName, float* pPos, float& fSpeed);
	bool   createStructure(std::string structName, std::string textureName, float* pPos);

	void   changeSectorVisibility(bool bVisibility);

private:
//	bool   createUnit(char** pDataBuffer);
//	bool   createStructure(char** pDataBuffer);

	float m_fWidth;
	float m_fDepth;
	
	std::vector<int> m_sectorObjectsID;
};

#endif //__LEVEL_SECTOR_HPP__

//EOF
